/*迅普*/
//注：依赖layui.js
var xpsoft={};

//显示提示消息
xpsoft.msg=function(txt,timeout){
	layui.use(['layer'], function(){
		var layer = layui.layer;
		layer.msg(txt);
		if(timeout==null)
			timeout=5000;
		setTimeout("layer.closeAll()", timeout);
	});
};

/*分页*/
//<div id="_paginate"></div>
//xpsoft.paginate("_paginate",#(lists.pageNumber??1), #(lists.totalRow??1), "xpUser","form1")
//url 为点击后跳转url,如果有相关form，要指定formId
xpsoft.paginate=function(contentId,currentPage,totalPage,url,formId){
	layui.use(['layer', 'laypage', 'element'], function() {
		var laypage = layui.laypage;
		//分页
		laypage.render({
			elem: contentId, //分页容器的id
			count: totalPage,//数据总数
			curr: currentPage,
			layout: ['prev', 'page', 'next', 'skip','count'],
//			limit:10,
//			limits:[10, 20, 30, 40, 50],
//			groups:5
		    jump: function(obj,first){//点击页码出发的事件  
	            if(first!=true){//是否首次进入页面  
	              	//layer.msg('第'+ obj.curr +'页');
	                var currentPage = obj.curr;//获取点击的页码      
	                var curUrl=url+"?pageNum="+currentPage; 
	                if(formId)
	  					window.location.href=curUrl+"&"+$("#"+formId).serialize();
	                else
	                	window.location.href=curUrl;
	            }  
			}
		});
	});
};


//合并多于的合计 行
xpsoft.mergerHJRow=function (tab)
  {
  	var colNum=tab.rows[0].cells.length;//表格列的长度
  	var rowNum=tab.rows.length;//表格行的长度
  	var txt="合计";
  	for(var i=0;i<rowNum;i++){
  		var count=0;
  		var index=-1;
  		for(var j=0;j<colNum;j++){
	    		if(txt==tab.rows[i].cells[j].innerHTML)
	    		{
	    			if(index==-1)
	    				index=j;
	    			count++;
	    		}
  		}
  		if(count>0)
  	        xpsoft.mergeRowCell(tab,i,index,count);
  	}
  };
  //合并多于的合计 列
  /* mergerHJCol(tab,6,1,1);
      mergerHJCol(tab,5,1,1);
      mergerHJCol(tab,4,1,1);
      mergerHJCol(tab,3,1,1);
      mergerHJCol(tab,2,1,1);  */
  xpsoft.mergerHJCol =function (tab,col,startRow,startCol)
  {
  	var startcol=0;
  	if(startCol!=null)
  		startcol=startCol;
  	var colNum=tab.rows[0].cells.length;//表格列的长度
  	var rowNum=tab.rows.length;//表格行的长度
  	if(col>=colNum || startCol>col || startRow>=rowNum || col<=1 || col-1<startRow)
  		return;
  	var txt="合计";
  	var del=false;
  	for(var i=0;i<rowNum;i++){
  		if(txt==tab.rows[i].cells[col].innerHTML)
  		{
  			del=false;
  			if(tab.rows[i].cells[col-1].innerHTML==txt)
  				continue;
  			var count=0;
  			var same=true;
  			for(var n=i-1;n>=startRow && n>=1;n--){
  				var j=0;
  				for(j=startcol;j<col;j++){
      				if(tab.rows[n].cells[j].innerHTML!=tab.rows[n-1].cells[j].innerHTML){
      					same=false;
      					break;
      				}
  				}
  				if(!same)
  					break;
  				if(j>=col)
  					count++;
      		}
  			var count2=0;
  			for(var n=i-1;n>i-1-count && n>=1;n--){
					if(tab.rows[n].cells[col].innerHTML!=tab.rows[n-1].cells[col].innerHTML){
						break;
					}
					count2++;
				}
  			if(count2==count)
  				del=true;
  			if(del){
  				for(var j=0;j<colNum;j++){
  					var r=tab.rows[i].cells[j].rowSpan;
      				if(r!=1 && tab.rows[i+1].cells[j].style.display =="none"){
      					tab.rows[i+1].cells[j].rowSpan=r-1;
      					tab.rows[i+1].cells[j].style.display = "";
      					tab.rows[i].cells[j].rowSpan=1;
      				}
      				tab.rows[i].cells[j].style.display = "none";
      			}
      			
      		}
  		}
  	}
  };

//合并相同内容的列单元格
  //depandCol表示依赖的列的索引数组，只所有的值相等才会合并
	//mergeSameCol(tab,1);
	//mergeSameCol(tab,2,[1]);
	//mergeSameCol(tab,3,[1,2]);
	//mergeSameCol(tab,4,[1,2,3]);
	//mergeSameCol(tab,5,[1,2,3,4]);
  xpsoft.mergeSameCol=function(tab,col,depandCol)
  {
  	var rowNum=tab.rows.length;
  	var depNum=0;
  	if(depandCol!=undefined)
  		depNum=depandCol.length;
  	var v=tab.rows[0].cells[col].innerHTML;
  	for(var i=1;i<rowNum;i++){
  		if(tab.rows[i].cells[col].innerHTML==v){
  			var j=0;
  			for(j=0;j<depNum;j++){
  				if(tab.rows[i].cells[depandCol[j]].innerHTML!=tab.rows[i-1].cells[depandCol[j]].innerHTML)
  					break;
  			}
  			if(j>=depNum)
  				xpsoft.mergeColCell(tab,i-1,col,2);
  		}else{
  			v=tab.rows[i].cells[col].innerHTML;
  		}
  	}
  };
  
//按列合并单元格
  // mergeColCell(tab,1,1,3);表示把1行1列与1行2列与1行3列合并
  xpsoft.mergeColCell=function(tab,firstRow,col,num)
  {
  	 if(col>=tab.rows[0].cells.length)
  		return; 
  	var rowNum=tab.rows.length;
  	if(firstRow>=rowNum)
  		return;
  	for(var i=0;i<firstRow+1;i++){
  		if(tab.rows[firstRow-i].cells[col].style.display != "none"){
  			tab.rows[firstRow-i].cells[col].rowSpan = num+i;
  			break;
  		}    			
  	}
        for(var i = 1; i<num && i<rowNum-firstRow; i++){
            tab.rows[firstRow+i].cells[col].style.display = "none";
        }
  };
  
  //按行合并单元格
  // mergeRowCell(tab,1,1,3);表示把1行1列与1行2列与1行3列合并
  xpsoft.mergeRowCell=function (tab,row,firstCol,num)
  {
  	//如果所需合并的列>=表格列的长度，则跳出 
  	if(firstCol+num>tab.rows[0].cells.length)
  		return; 
  	var colNum=tab.rows[0].cells.length;//表格列的长度
  	var rowNum=tab.rows.length;//表格行的长度
  	//如果合并的行>=表格行的长度，则跳出
  	if(row>=rowNum)
  		return;
  	for(var i=0;i<firstCol+1;i++){
  		if(tab.rows[row].cells[firstCol-i].style.display != "none"){
  			tab.rows[row].cells[firstCol-i].colSpan = num+i;
  			break;
  		}    			
  	}
        for(var i = 1; i<num && i<colNum-firstCol; i++){
            tab.rows[row].cells[firstCol+i].style.display = "none";
        }
  };
  
  //密码必须是字母大写，字母小写，数字，特殊字符中任意三个组合。
  xpsoft.checkPass = function(s) {
	if (s.length < 8) {
		return 0;
	}
	var ls = 0;
	if (RegExp(/([a-z])+/).test(s)) {
		ls++;
	}
	if (RegExp(/([0-9])+/).test(s)) {
		ls++;
	}
	if (RegExp(/([A-Z])+/).test(s)) {
		ls++;
	}
	if (RegExp(/[^a-zA-Z0-9]+/).test(s)) {
		ls++;
	}
	return ls;
}